$(function(){
    /*	选择运送区域*/
    $('.trans-line').on('click','a[entype="J_EditArea"]',function () {
        curTransType = 'kd';
        //取消所有已选择的checkbox
        $('#J_CityList').find('input[type="checkbox"]').attr('checked',false).attr('disabled',false);

        //取消显示所有统计数量
        $('#J_CityList').find('.check_num').html('');
        $('#J_CityList').find('.check_num_district').html('');

        //记录已选择的所有省及市的value，SelectArea下标为value值，值为true，如江苏省SelectArea[320000]=true,南京市SelectArea[320100]=true
        SelectArea = new Array();

        //取得当前行隐藏域内的city值，放入SelectArea数组中
        var expAreas = $('input[name="areas"]').val();
        expAreas = expAreas.split('|||');
        expAreas = expAreas[0].split(',');
        try{
            if(expAreas[0] != ''){
                for(var v in expAreas){
                    SelectArea[expAreas[v]] = true;
                }
            }

            //初始化已选中的checkbox
            $('#J_CityList').find('.ncsc-province').each(function(){
                var check_num = 0;

                $(this).find('.areas-district').each(function(){
                    var check_num_district = 0;
                    $(this).find('input[type="checkbox"]').each(function(){
                        if(SelectArea[$(this).val()]==true){
                            $(this).attr('checked',true);
                            if($(this)[0].className=='J_District') check_num_district++;
                        }
                    });
                    if (check_num_district > 0){
                        check_num = check_num+check_num_district;
                        $(this).find('.check_num_district').html('('+check_num_district+')');
                    }

                });

                if (check_num > 0){
                    $(this).find('.check_num').html('('+check_num+')');
                }

            });

            //循环每一行，如果一行省都选中，则大区载选中
            $('#J_CityList>li').each(function(){
                $(this).find('.J_Group').attr('checked',true);
                father = this;
                $(this).find('.J_Province').each(function(){
                    if (!$(this).attr('checked')){
                        $(father).find('.J_Group').attr('checked',false);
                        return ;
                    }
                });
            });
        }catch(ex){}

        //定位弹出层的坐标
        var pos = $(this).position();
        $("#dialog_areas").css({'position' : 'fixed','display' : 'block', 'z-index' : '9999'});
        $('.ks-ext-mask').css('display','block');

    });

    /*	省份下拉事件*/
    $('#dialog_areas').on('click','.trigger',function () {
        objTrigger = this;objHead = $(this).parent();objPanel = $(this).next();
        if ($(this).next().css('display') == 'none'){
            //隐藏所有已弹出的省份下拉层，只显示当前点击的层
            $('.ks-contentbox').find('.ncsc-province').removeClass('showCityPop');
            $(this).parent().parent().addClass('showCityPop');
        }else{
            //隐藏当前的省份下拉层
            $(this).parent().parent().removeClass('showCityPop');

            //隐藏所有市的下拉层
            $(this).parents('.ncsc-province').find('.ncsc-district-sub').hide();
            $(this).parents('.ncsc-province').find('.showDistrictPop').removeClass('showDistrictPop');
        }
        //点击省，市所在的head与panel层以外的区域均隐藏当前层
        var oHandle = $(this);
//        oHandle = document.getElementById($(this).attr('id'));//不兼容Ie8,废弃
        var de = document.documentElement?document.documentElement : document.body;
        de.onclick = function(e){
            var e = e || window.event;
            var target = e.target || e.srcElement;
            var getTar = target.getAttribute("id");
            while(target){
                //循环最外层一个时，会出现异常
                try{
                    //jquery 转成DOM对象，比较两个DOM对象
                    if(target==$(objHead)[0])return true;
                    if(target==$(objPanel)[0])return true;
                    //暂不考虑使用ID比较
//	                if(target.getAttribute("id")==$(objHead).attr('id'))return true;
//	                if(target.getAttribute("id")==$(objPanel).attr('id'))return true;
                }catch(ex){};
                target = target.parentNode;
            }
            $(objTrigger).parent().parent().removeClass('showCityPop');
        }
    });

    /*	市下拉事件*/
    $('#dialog_areas').on('click','.trigger-district',function () {
        objTrigger = this;objHead = $(this).parent();objPanel = $(this).next();
        if ($(this).next().css('display') == 'none'){
            //隐藏所有已弹出的市下拉层，只显示当前点击的层
            $('.areas-district').removeClass('showDistrictPop');
            $(this).parent().addClass('showDistrictPop');
            $('.ncsc-district-sub').hide();
            $(this).next().show();
        }else{
            //隐藏当前的省份下拉层
            $(this).parent().removeClass('showDistrictPop');
            $(this).next().hide();
        }
        //点击省，市所在的head与panel层以外的区域均隐藏当前层（？？？这是什么意思？）
        var oHandle = $(this);
//        oHandle = document.getElementById($(this).attr('id'));//不兼容Ie8,废弃
        var de = document.documentElement?document.documentElement : document.body;
        de.onclick = function(e){
            var e = e || window.event;
            var target = e.target || e.srcElement;
            var getTar = target.getAttribute("id");
            while(target){
                //循环最外层一个时，会出现异常
                try{
                    //jquery 转成DOM对象，比较两个DOM对象
                    if(target==$(objHead)[0])return true;
                    if(target==$(objPanel)[0])return true;
                    //暂不考虑使用ID比较
//	                if(target.getAttribute("id")==$(objHead).attr('id'))return true;
//	                if(target.getAttribute("id")==$(objPanel).attr('id'))return true;
                }catch(ex){};
                target = target.parentNode;
            }
            $(objTrigger).parent().parent().removeClass('showCityPop');
        }
    });

    /*	省份点击事件*/
    $('#dialog_areas').on('click','.J_Province',function(){
        if ($(this).attr('checked')){
            //选择所有未被disabled的子地区
            $(this).parent().find('.ncsc-citys-sub').eq(0).find('input[type="checkbox"]').each(function(){
                if (!$(this).attr('disabled')){
                    $(this).attr('checked',true);
                }else{
                    $(this).attr('checked',false);
                }
            });
            //计算并显示所有被选中的子地区数量
            num = '('+$(this).parent().find('.ncsc-citys-sub').eq(0).find('input:checked').size()+')';
            if (num == '(0)') num = '';
            $(this).parent().parent().find(".check_num").eq(0).html(num);

            //如果该大区域所有省都选中，该区域选中
            input_checked 	= $(this).parent().parent().parent().find('input:checked').size();
            input_all 		= $(this).parent().parent().parent().find('input[type="checkbox"]').size();
            if (input_all == input_checked){
                $(this).parent().parent().parent().parent().find('.J_Group').attr('checked',true);
            }

        }else{
            //取消全部子地区选择，取消显示数量
            $(this).parent().parent().find(".check_num").eq(0).html('');
            $(this).parent().find('.ncsc-citys-sub').eq(0).find('input[type="checkbox"]').attr('checked',false);
            //取消大区域选择
            $(this).parent().parent().parent().parent().find('.J_Group').attr('checked',false);
        }
    });

    /*	市点击事件*/
    $('#dialog_areas').on('click','.J_City',function(){

        if ($(this).attr('checked')){
            //选择所有未被disabled的子地区
            $(this).parent().find('.ncsc-district-sub').eq(0).find('input[type="checkbox"]').each(function(){
                if (!$(this).attr('disabled')){
                    $(this).attr('checked',true);
                }else{
                    $(this).attr('checked',false);
                }
            });

            //如果该省域所有市都选中，该省选中
            input_checked 	= $(this).parent().parent().find('input:checked').size();
            input_all 		= $(this).parent().parent().find('input[type="checkbox"]').size();
            if (input_all == input_checked){
                $(this).parent().parent().parent().find('.J_Province').attr('checked',true);
            }

            //如果该大区域所有省都选中，该区域选中
            input_checked 	= $(this).parent().parent().parent().parent().parent().find('input:checked').size();
            input_all 		= $(this).parent().parent().parent().parent().parent().find('input[type="checkbox"]').size();
            if (input_all == input_checked){
                $(this).parent().parent().parent().parent().parent().parent().find('.J_Group').attr('checked',true);
            }

        }else{

            $(this).parent().find('.ncsc-district-sub').eq(0).find('input[type="checkbox"]').attr('checked',false);
            //取消省选择
            $(this).parent().parent().parent().find('.J_Province').attr('checked',false);
            //取消大区域选择
            $(this).parent().parent().parent().parent().parent().parent().find('.J_Group').attr('checked',false);
        }

        //计算并显示所有被选中的子地区数量
        num = '('+$(this).parent().find('.ncsc-district-sub').eq(0).find('input:checked').size()+')';
        if (num == '(0)') num = '';
        $(this).parent().find(".check_num_district").eq(0).html(num);

        //在所属省后面显示选择区的数量
        num2 = '('+$(this).parents('.ncsc-citys-sub').find('.J_District:checked').size()+')';
        if (num2=='(0)')num2='';
        $(this).parents('.ncsc-province-tab').find(".check_num").eq(0).html(num2);
    });

    /*	区点击事件*/
    $('#dialog_areas').on('click','.J_District',function(){
        //在所属市后面显示选择区的数量
        num = '('+$(this).parent().parent().find('input:checked').size()+')';
        if (num=='(0)')num='';
        $(this).parent().parent().parent().find(".check_num_district").eq(0).html(num);

        //在所属省后面显示选择区的数量
        num2 = '('+$(this).parents('.ncsc-citys-sub').find('.J_District:checked').size()+')';
        if (num2=='(0)')num2='';
        $(this).parents('.ncsc-province-tab').find(".check_num").eq(0).html(num2);

        //如果区级地区全部选中，则父级市也选中，反之有一个不选中,则市和省和大区域也不选中
        if (!$(this).attr('checked')){
            //取消市选择
            $(this).parents('.areas-district').find('.J_City').attr('checked',false);
            //取消省份选择
            $(this).parents('.ncsc-province-tab').find('.J_Province').attr('checked',false);
            //取消大区域选择
            $(this).parents('.ncsc-region').find('.J_Group').attr('checked',false);
        }else{
            //如果该市所有区都选中，该市选中
            input_checked 	= $(this).parents('.ncsc-district-sub').find('input:checked').size();
            input_all 		= $(this).parents('.ncsc-district-sub').find('input[type="checkbox"]').size();
            if (input_all == input_checked){
                $(this).parents('.areas-district').find('.J_City').attr('checked',true);
            }
            //如果该省所有市都选中，该省选中
            input_checked 	= $(this).parents('.ncsc-citys-sub').find('input:checked').size();
            input_all 		= $(this).parents('.ncsc-citys-sub').find('input[type="checkbox"]').size();
            if (input_all == input_checked){
                $(this).parents('.ncsc-province-tab').find('.J_Province').attr('checked',true);
            }
            //如果该大区域所有省都选中，该区域选中
            input_checked 	= $(this).parents('.ncsc-province-list').find('input:checked').size();
            input_all 		= $(this).parents('.ncsc-province-list').find('input[type="checkbox"]').size();
            if (input_all == input_checked){
                $(this).parents('.ncsc-region').find('.J_Group').attr('checked',true);
            }
        }
    });

    /*	大区域点击事件（华北、华东、华南...）*/
    $('#dialog_areas').on('click','.J_Group',function(){
        if ($(this).attr('checked')){
            //区域内所有没有被disabled复选框选中，带disabled说明已经被选择过了，不能再选
            $(this).parent().parent().parent().find('input[type="checkbox"]').each(function(){
                if (!$(this).attr('disabled')){
                    $(this).attr('checked',true);
                }else{
                    $(this).attr('checked',false);
                }
            });
            //循环显示每个省下面的市级的数量
            $(this).parent().parent().parent().find('.ncsc-province-list').find('.ncsc-province').each(function(){
                //显示该省下面已选择的市的数量
                num = '('+$(this).find('.ncsc-citys-sub').find('input:checked').size()+')';
                //如果是0，说明没有选择，不显示数量
                if (num != '(0)'){
                    $(this).find(".check_num").html(num);
                }
            });
        }else{
            //区域内所有筛选框取消选中
            $(this).parent().parent().parent().find('input[type="checkbox"]').attr('checked',false);
            //循环清空每个省下面显示的市级数量
            $(this).parent().parent().parent().find('.ncsc-province-list').find('.ncsc-province').each(function(){
                $(this).find(".check_num").html('');
            });
        }

    });

    /*	选择完区域后，确定事件*/
    $('#dialog_areas').on('click','.J_Submit',function (){
        var CityText = '', CityText2 = '', CityText3 = '', CityValue = '';
        //记录已选择的所有省及市的value，SelectArea下标为value值，值为true，如江苏省SelectArea[320000]=true,南京市SelectArea[320100]=true
        //取得已选的省市的text，返回给父级窗口，如果省份下的市被全选择，只返回显示省的名称，否则显示已选择的市的名称

        //首先找市被全部选择的省份
        $('#J_CityList').find('.ncsc-province-tab').each(function(){
            var a = $(this).find('input[type="checkbox"]').size();
            var b = $(this).find('input:checked').size();
            //市被全选的情况
            if (a == b){
                CityText += ($(this).find('.J_Province').next().html())+',';
            }else{
                //市被部分选中的情况
                //找区被全部选择的市
                $(this).find('.areas-district').each(function(){
                    var a = $(this).find('input[type="checkbox"]').size();
                    var b = $(this).find('input:checked').size();

                    //区被全选的情况
                    if (a == b){
                        // alert('a和b相等')
                        CityText2 += ($(this).find('.J_City').next().html())+',';
                    }else{
                        //区被部分选中的情况
                        $(this).find('.J_District').each(function(){
                            //计算并准备传输选择的区域值（具体到区），以，隔开
                            if ($(this).attr('checked')){
                                CityText3 += ($(this).next().html())+',';
                            }
                        });

                    }
                });
            }
        });
        CityText = CityText+CityText2+CityText3;

        //记录弹出层内所有已被选择的checkbox的值(省、市均记录)，记录到CityValue，SelectArea中
        $('#J_CityList').find('.ncsc-province-list').find('input[type="checkbox"]').each(function(){
            if ($(this).attr('checked')){
                CityValue += $(this).val()+',';
            }
        });
        // alert(CityValue)
        //去掉尾部的逗号
        CityText = CityText.replace(/(,*$)/g,'');
        CityValue = CityValue.replace(/(,*$)/g,'');

        //返回选择的文本内容
        if (CityText == '')CityText = '未添加地区';
        // alert(CityText)
        $('#areas_info>span').html(CityText);
        //返回选择的值到隐藏域
        $('input[name="areas"]').val(CityValue+'|||'+CityText);
        //关闭弹出层与遮罩层
        $("#dialog_areas").css('display','none');
        $('.ks-ext-mask').css('display','none');
        //清空check_num显示的数量
        $(".check_num").html('');
        $('#J_CityList').find('input[type="checkbox"]').attr('checked',false);
        //如果该配送方式，地区都不为空，隐藏地区的提示层

    });

    /*	关闭弹出的市级小层*/
    $('#dialog_areas').on('click','.close_button',function(){
        $(this).parent().parent().parent().parent().removeClass('showCityPop');
    });

    /*	关闭弹出的区级小层*/
    $('#dialog_areas').on('click','.close_button_district',function(){
        $(this).parents('.ncsc-district-sub').hide();
        $(this).parents('.showDistrictPop').removeClass('showDistrictPop');
    });

    /*	关闭选择区域层*/
    $('#dialog_areas').on('click','.ks-ext-close',function(){
        $("#dialog_areas").css('display','none');
        $("#dialog_batch").css('display','none');
        $('.ks-ext-mask').css('display','none');
        return false;
    });

    $('#dialog_areas').on('click','.J_Cancel',function(){
        $("#dialog_areas").css('display','none');
        $("#dialog_batch").css('display','none');
        $('.ks-ext-mask').css('display','none');
    });


















});


